package com.loop.nio2;

import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
 * 客户端
 *
 * @author zhangxiaolu
 * @since 2023-09-04 22:27
 */
public class NIOClient {

    public static void main(String[] args) throws  Exception {
        // 得到一个网络通道
        SocketChannel socketChannel = SocketChannel.open();
        // 设置非阻塞
        socketChannel.configureBlocking(false);
        // 连接服务器
        if (!socketChannel.connect(new java.net.InetSocketAddress("127.0.0.1", 8888))){
            while (!socketChannel.finishConnect()){
                System.out.println("连接需要时间，客户端不会阻塞，可以做其他工作");
            }
        }
        System.out.println("连接服务器成功！");
        // 发送数据
        String str = "Hello, 我是客户端！";
        ByteBuffer buffer = ByteBuffer.wrap(str.getBytes());// 包裹byte Array到Buffer中
        socketChannel.write(buffer);
        System.in.read();
        // 关闭通道
//        socketChannel.close();
    }
}
